首页>代码>SpringCloud入门项目简单实例,包括eureka集群和服务注册者>/Cloud2021 - 副本/cloud-consumer-order80/src/main/java/com/ccqq/springcloud/controller/OrderController.java
package com.ccqq.springcloud.controller; import com.ccqq.springcloud.lb.LoadBalancer; import com.ccqq.springcloud.entities.CommonResult; import com.ccqq.springcloud.entities.Payment; import org.springframework.cloud.client.ServiceInstance; import org.springframework.cloud.client.discovery.DiscoveryClient; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.client.RestTemplate; import javax.annotation.Resource; import java.net.URI; import java.util.List; @RestController public class OrderController { // public static final String PaymentSrv_URL = "http://localhost:8002"; public static final String PaymentSrv_URL = "http://CLOUD-PAYMENT-SERVICE"; @Resource private RestTemplate restTemplate; @Resource private DiscoveryClient discoveryClient; @Resource private LoadBalancer loadBalancer; @GetMapping("/consumer/payment/create") //客户端用浏览器是get请求,但是底层实质发送post调用服务端8001 public CommonResult<Payment> create(Payment payment) { return restTemplate.postForObject(PaymentSrv_URL + "/payment/create",payment,CommonResult.class); } @GetMapping("/consumer/payment/get/{id}") public CommonResult<Payment> getPayment(@PathVariable Long id) { return restTemplate.getForObject(PaymentSrv_URL + "/payment/get/"+id, CommonResult.class, id); } @GetMapping("/consumer/payment/getForEntity/{id}") public CommonResult<Payment> getPayment2(@PathVariable Long id){ ResponseEntity<CommonResult> entity = restTemplate.getForEntity(PaymentSrv_URL+"/payment/get/"+id,CommonResult.class); if (entity.getStatusCode().is2xxSuccessful()){ return entity.getBody(); }else { return new CommonResult<>(444,"启动失败"); } } // @GetMapping(value = "/consumer/payment/lb") // public String getPaymentLB(){ // List<ServiceInstance> instances = discoveryClient.getInstances("CLOUD-PAYMENT-SERVICE"); // if (instances == null || instances.size() <= 0){ // return null; // } // ServiceInstance serviceInstance = loadBalancer.instances(instances); // URI uri = serviceInstance.getUri(); // // return restTemplate.getForObject(uri+"/payment/lb",String.class); // } }
最近下载更多
微信网友_6718454036303872 LV2
2023年11月2日
落后就要挨打 LV26
2023年10月19日
kk992127170 LV6
2022年7月27日
ewan007 LV29
2022年7月21日
364550246 LV15
2022年6月18日
heqian LV16
2022年5月18日
何松林 LV7
2022年3月7日
wdcokm LV1
2022年2月21日
史鹏丽 LV2
2021年11月17日
最代码官方 LV167
2021年8月1日
最近浏览更多
zhujunnan LV12
3月8日
malagou LV1
1月22日
sunlzh888888 LV28
1月14日
whfuai LV14
1月2日
origine1215
2023年11月29日
暂无贡献等级
YamTest LV1
2023年11月13日
微信网友_6718454036303872 LV2
2023年11月2日
jiemomo LV12
2023年10月19日
龚顺龙 LV3
2023年9月24日
落后就要挨打 LV26
2023年8月15日